
#include <stdint.h>
#include <stdio.h>
#include "system.h"


/*
APP最大64KB=512*128，最多512个报文，64个字节可完整描述整个报文数的状态
*/

#define SYSTEM_PRINT_EN (1)//0关闭system.c文件调试打印

#if SYSTEM_PRINT_EN==1
	#define SYSTEM_PRINT(...) printf(__VA_ARGS__)
#else
  #define SYSTEM_PRINT(...)
#endif

LORA_PARAM stLORA;
//__align(1)
SYS_VAR stSYS;

uint16_t Modbus_Output_Reg[100];

uint8_t Modbus_Reg_WriteFlg[100];

uint8_t bSystem_init_done = 0;

#if 0
#define W25Q16BASE_ADDR 0x00000300
#else
#define W25Q16BASE_ADDR 0x00000100 //0x00000000 0x00000100 0x00000200 0x00000300 0x00000400
#endif

#define DATA_VERSION 13532	//  如果数据结构有变化，改变此版本号以便重新初始化

// 子阵编号		2		3		4		5		6		7		11	12	13	14	15	16
// 频率索引		0		1		2		3		4		5		6		7		8		9		10	11
#define FIXED_ADDRESS 0x08001000 // 在此地址保存固定常量，包含LORA频率索引+LORA地址索引
//#define VERSION_ADDRESS 0x0801f000 // 在此地址保存应用版本号
//#define ADDR		0 // lora地址，0..200
//#define CHANNEL 0 // lora频率索引，0..11

// 此固定地址仅保留应用版本号。LORA地址和频率索引保存在bootloader中的0x08001000处。
//const uint16_t __VERSION __attribute__((at(VERSION_ADDRESS)))= APP_VERSION; //(APP_VERSION<<16) | (CHANNEL<<8) | ADDR;


